草庐IT

java - bash:jar:找不到命令

全部标签

go - 如何通过命令行删除/bin目录下的二进制文件?

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我在$HOME/go/src/hello/中运行命令goinstall二进制文件进入目录$HOME/go/bin,然后运行​​goclean,但不删除二进制文件。如何通过命令行删除/bin目录下的二进制文件?输出goenv:GOARCH="amd64"GOBIN="/home/stavanger/g

bash - 使用 os.exec 执行 'su' 返回错误

据我了解,Go的exec函数直接使用内核执行命令,而不是创建本地终端session或类似的东西。不幸的是,我需要使用su命令来运行脚本,这涉及运行su然后通过标准输入管道输入root密码。是的,我必须使用su(禁用sudo的设备上的业务用例),而且我还需要能够通过管道输入密码。目前我的代码如下rootRun:=exec.Command("su","-c","whoami")rootRun.Stderr=os.StdoutrootRun.Stdout=os.Stdouterr=rootRun.Run()check(err)错误是su:mustberunfromaterminalpanic

unit-testing - 去单元测试找不到所需的文件

我在go中编写了一个单元测试,同一文件的init方法在项目的根目录中打开了一个文件。我遇到的问题是,当我运行测试时,测试包是不包含所需文件的根目录。如何告诉测试函数查看文件而不在测试文件的目录中创建重复文件?文件结构:main.go|+-helpers|+-data.go|+-data_test.gorequired_file.txt测试命令:gotestgithub.com/testproj/helpersdata.go中的代码:funcinit(){file,err:=os.Open("required_file.txt")iferr!=nil{log.Fatal(err)

go - 执行外部命令并返回其输出

我正在尝试执行linux命令并将输出转换为int。这是我当前的代码:packagemainimport("os/exec""os""strconv"_"fmt""log""bytes")funcmain(){cmd:=exec.Command("ulimit","-n")cmdOutput:=&bytes.Buffer{}cmd.Stdout=cmdOutputerr:=cmd.Run()iferr!=nil{os.Stderr.WriteString(err.Error())}count,err:=strconv.Atoi(string(cmdOutput.Bytes()))ifer

go - exec.Command 调用 java cli

如何让exec.Command命令从另一个文件调用命令?funcmain(){fmt.Println("Iniciando...")command:=exec.Command("java-version")command.Dir="."output,err:=command.Output()iferr!=nil{fmt.Println("Erro:",err)}fmt.Printf("%s",output)}错误:exec:“java-version”:在$PATH中找不到可执行文件 最佳答案 每个参数都需要在自己单独的字符串中。试

java - Golang enum 可以像 Java 的 enum 一样做同样的行为吗?

Java的枚举具有有用的方法“valueOf(string)”,它通过名称返回const枚举成员。例如。enumROLE{FIRST("Firstrole"),SECOND("Secondrole")privatefinalStringlabel;privateROLE(labelString){this.label=label;}publicStringgetLabel(){returnlabel;}}//inotherplaceofcodewecando:ROLE.valueOf("FIRST").getLabel();//get's"Firstrole"此行为非常有用,例如,在h

go - 在 slice 中搜索字符串时找不到句柄

基于这个基于sortpackage的相当简单的代码.o1的响应索引无效,正如@JimB所指出的,因为二进制搜索需要更大或等于运算符l:=[]string{"o1","o2","o3"}i1:=sort.Search(len(l),func(iint)bool{returnstrings.EqualFold(l[i],"o1")})fmt.Println("o1:",i1)//PRINTS3-WRONGhttps://play.golang.org/p/nUs-ozTYsY工作解决方案是:l:=[]string{"o1","o2","o3"}i1:=sort.Search(len(l),

go - 补丁命令的 exec.command

我正在尝试使用以下命令修补文件patch-p0我的runCommand语法如下:funcrunCommand(cmdstring,args...string)error{ecmd:=exec.Command(cmd,args...)ecmd.Stdout=os.Stdoutecmd.Stderr=os.Stderrecmd.Stdin=os.Stdinerr:=ecmd.Run()returnerr}现在我传递我的补丁命令如下:cmd="patch"args:=[]string{"-p0","但我看到以下错误:补丁:****找不到文件“你能告诉我我在这里缺少什么吗?

go - 如何执行命令来执行sed

我有以下代码段不起作用。编译但不执行预期的操作。在bash上执行相同的命令。为什么?hash:="4ab32de"cmd="sed-i-e's/clt_[0-9a-z]*/clt_"+hash+"/g'/tmp/test.env"parts=strings.Fields(cmd)for_,part:=rangeparts{fmt.Printf("\n%s",part)}head=parts[0]out,err=exec.Command(head,parts[1:]...).Output()fmt.Printf("\nnewcmdis%s\n",cmd)fmt.Printf("out:%

bash - 在程序化 shell 命令执行中嵌入环境变量

我正处于尝试执行shell命令的情况,但它的参数被正确解释为环境变量。例如,当我在终端中输入以下内容时ls$GOPATHBash解释并扩展变量$GOPATH,并列出$GOPATH目录的内容。我正在尝试对Golang的程序化shell执行做类似的事情。我有以下代码。packagemainimport("bytes""fmt""log""os""os/exec")funcmain(){cmd:=exec.Command("echo","$TESTVAR")cmd.Env=append(os.Environ(),"TESTVAR=this_is_a_test",)varoutBuffbyte